package com.xzssmk.leisure.x.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class IssuePeriodExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public IssuePeriodExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIssuePeriodIdIsNull() {
            addCriterion("issue_period_id is null");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdIsNotNull() {
            addCriterion("issue_period_id is not null");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdEqualTo(Integer value) {
            addCriterion("issue_period_id =", value, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdNotEqualTo(Integer value) {
            addCriterion("issue_period_id <>", value, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdGreaterThan(Integer value) {
            addCriterion("issue_period_id >", value, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("issue_period_id >=", value, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdLessThan(Integer value) {
            addCriterion("issue_period_id <", value, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdLessThanOrEqualTo(Integer value) {
            addCriterion("issue_period_id <=", value, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdIn(List<Integer> values) {
            addCriterion("issue_period_id in", values, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdNotIn(List<Integer> values) {
            addCriterion("issue_period_id not in", values, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdBetween(Integer value1, Integer value2) {
            addCriterion("issue_period_id between", value1, value2, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodIdNotBetween(Integer value1, Integer value2) {
            addCriterion("issue_period_id not between", value1, value2, "issuePeriodId");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeIsNull() {
            addCriterion("issue_start_time is null");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeIsNotNull() {
            addCriterion("issue_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeEqualTo(Date value) {
            addCriterion("issue_start_time =", value, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeNotEqualTo(Date value) {
            addCriterion("issue_start_time <>", value, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeGreaterThan(Date value) {
            addCriterion("issue_start_time >", value, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("issue_start_time >=", value, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeLessThan(Date value) {
            addCriterion("issue_start_time <", value, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("issue_start_time <=", value, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeIn(List<Date> values) {
            addCriterion("issue_start_time in", values, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeNotIn(List<Date> values) {
            addCriterion("issue_start_time not in", values, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeBetween(Date value1, Date value2) {
            addCriterion("issue_start_time between", value1, value2, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("issue_start_time not between", value1, value2, "issueStartTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeIsNull() {
            addCriterion("issue_end_time is null");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeIsNotNull() {
            addCriterion("issue_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeEqualTo(Date value) {
            addCriterion("issue_end_time =", value, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeNotEqualTo(Date value) {
            addCriterion("issue_end_time <>", value, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeGreaterThan(Date value) {
            addCriterion("issue_end_time >", value, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("issue_end_time >=", value, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeLessThan(Date value) {
            addCriterion("issue_end_time <", value, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("issue_end_time <=", value, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeIn(List<Date> values) {
            addCriterion("issue_end_time in", values, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeNotIn(List<Date> values) {
            addCriterion("issue_end_time not in", values, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeBetween(Date value1, Date value2) {
            addCriterion("issue_end_time between", value1, value2, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andIssueEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("issue_end_time not between", value1, value2, "issueEndTime");
            return (Criteria) this;
        }

        public Criteria andSalePriceIsNull() {
            addCriterion("sale_price is null");
            return (Criteria) this;
        }

        public Criteria andSalePriceIsNotNull() {
            addCriterion("sale_price is not null");
            return (Criteria) this;
        }

        public Criteria andSalePriceEqualTo(Short value) {
            addCriterion("sale_price =", value, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceNotEqualTo(Short value) {
            addCriterion("sale_price <>", value, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceGreaterThan(Short value) {
            addCriterion("sale_price >", value, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceGreaterThanOrEqualTo(Short value) {
            addCriterion("sale_price >=", value, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceLessThan(Short value) {
            addCriterion("sale_price <", value, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceLessThanOrEqualTo(Short value) {
            addCriterion("sale_price <=", value, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceIn(List<Short> values) {
            addCriterion("sale_price in", values, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceNotIn(List<Short> values) {
            addCriterion("sale_price not in", values, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceBetween(Short value1, Short value2) {
            addCriterion("sale_price between", value1, value2, "salePrice");
            return (Criteria) this;
        }

        public Criteria andSalePriceNotBetween(Short value1, Short value2) {
            addCriterion("sale_price not between", value1, value2, "salePrice");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeIsNull() {
            addCriterion("validity_start_time is null");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeIsNotNull() {
            addCriterion("validity_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeEqualTo(Date value) {
            addCriterion("validity_start_time =", value, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeNotEqualTo(Date value) {
            addCriterion("validity_start_time <>", value, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeGreaterThan(Date value) {
            addCriterion("validity_start_time >", value, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("validity_start_time >=", value, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeLessThan(Date value) {
            addCriterion("validity_start_time <", value, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("validity_start_time <=", value, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeIn(List<Date> values) {
            addCriterion("validity_start_time in", values, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeNotIn(List<Date> values) {
            addCriterion("validity_start_time not in", values, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeBetween(Date value1, Date value2) {
            addCriterion("validity_start_time between", value1, value2, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("validity_start_time not between", value1, value2, "validityStartTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeIsNull() {
            addCriterion("validity_end_time is null");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeIsNotNull() {
            addCriterion("validity_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeEqualTo(Date value) {
            addCriterion("validity_end_time =", value, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeNotEqualTo(Date value) {
            addCriterion("validity_end_time <>", value, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeGreaterThan(Date value) {
            addCriterion("validity_end_time >", value, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("validity_end_time >=", value, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeLessThan(Date value) {
            addCriterion("validity_end_time <", value, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("validity_end_time <=", value, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeIn(List<Date> values) {
            addCriterion("validity_end_time in", values, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeNotIn(List<Date> values) {
            addCriterion("validity_end_time not in", values, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeBetween(Date value1, Date value2) {
            addCriterion("validity_end_time between", value1, value2, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andValidityEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("validity_end_time not between", value1, value2, "validityEndTime");
            return (Criteria) this;
        }

        public Criteria andSaleRatioIsNull() {
            addCriterion("sale_ratio is null");
            return (Criteria) this;
        }

        public Criteria andSaleRatioIsNotNull() {
            addCriterion("sale_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andSaleRatioEqualTo(Byte value) {
            addCriterion("sale_ratio =", value, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioNotEqualTo(Byte value) {
            addCriterion("sale_ratio <>", value, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioGreaterThan(Byte value) {
            addCriterion("sale_ratio >", value, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioGreaterThanOrEqualTo(Byte value) {
            addCriterion("sale_ratio >=", value, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioLessThan(Byte value) {
            addCriterion("sale_ratio <", value, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioLessThanOrEqualTo(Byte value) {
            addCriterion("sale_ratio <=", value, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioIn(List<Byte> values) {
            addCriterion("sale_ratio in", values, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioNotIn(List<Byte> values) {
            addCriterion("sale_ratio not in", values, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioBetween(Byte value1, Byte value2) {
            addCriterion("sale_ratio between", value1, value2, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSaleRatioNotBetween(Byte value1, Byte value2) {
            addCriterion("sale_ratio not between", value1, value2, "saleRatio");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesIsNull() {
            addCriterion("swipe_times is null");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesIsNotNull() {
            addCriterion("swipe_times is not null");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesEqualTo(Short value) {
            addCriterion("swipe_times =", value, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesNotEqualTo(Short value) {
            addCriterion("swipe_times <>", value, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesGreaterThan(Short value) {
            addCriterion("swipe_times >", value, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesGreaterThanOrEqualTo(Short value) {
            addCriterion("swipe_times >=", value, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesLessThan(Short value) {
            addCriterion("swipe_times <", value, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesLessThanOrEqualTo(Short value) {
            addCriterion("swipe_times <=", value, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesIn(List<Short> values) {
            addCriterion("swipe_times in", values, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesNotIn(List<Short> values) {
            addCriterion("swipe_times not in", values, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesBetween(Short value1, Short value2) {
            addCriterion("swipe_times between", value1, value2, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andSwipeTimesNotBetween(Short value1, Short value2) {
            addCriterion("swipe_times not between", value1, value2, "swipeTimes");
            return (Criteria) this;
        }

        public Criteria andCardFacePicIsNull() {
            addCriterion("card_face_pic is null");
            return (Criteria) this;
        }

        public Criteria andCardFacePicIsNotNull() {
            addCriterion("card_face_pic is not null");
            return (Criteria) this;
        }

        public Criteria andCardFacePicEqualTo(String value) {
            addCriterion("card_face_pic =", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicNotEqualTo(String value) {
            addCriterion("card_face_pic <>", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicGreaterThan(String value) {
            addCriterion("card_face_pic >", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicGreaterThanOrEqualTo(String value) {
            addCriterion("card_face_pic >=", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicLessThan(String value) {
            addCriterion("card_face_pic <", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicLessThanOrEqualTo(String value) {
            addCriterion("card_face_pic <=", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicLike(String value) {
            addCriterion("card_face_pic like", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicNotLike(String value) {
            addCriterion("card_face_pic not like", value, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicIn(List<String> values) {
            addCriterion("card_face_pic in", values, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicNotIn(List<String> values) {
            addCriterion("card_face_pic not in", values, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicBetween(String value1, String value2) {
            addCriterion("card_face_pic between", value1, value2, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardFacePicNotBetween(String value1, String value2) {
            addCriterion("card_face_pic not between", value1, value2, "cardFacePic");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNull() {
            addCriterion("card_type is null");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNotNull() {
            addCriterion("card_type is not null");
            return (Criteria) this;
        }

        public Criteria andCardTypeEqualTo(String value) {
            addCriterion("card_type =", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotEqualTo(String value) {
            addCriterion("card_type <>", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThan(String value) {
            addCriterion("card_type >", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThanOrEqualTo(String value) {
            addCriterion("card_type >=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThan(String value) {
            addCriterion("card_type <", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThanOrEqualTo(String value) {
            addCriterion("card_type <=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLike(String value) {
            addCriterion("card_type like", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotLike(String value) {
            addCriterion("card_type not like", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeIn(List<String> values) {
            addCriterion("card_type in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotIn(List<String> values) {
            addCriterion("card_type not in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeBetween(String value1, String value2) {
            addCriterion("card_type between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotBetween(String value1, String value2) {
            addCriterion("card_type not between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andPublicStateIsNull() {
            addCriterion("public_state is null");
            return (Criteria) this;
        }

        public Criteria andPublicStateIsNotNull() {
            addCriterion("public_state is not null");
            return (Criteria) this;
        }

        public Criteria andPublicStateEqualTo(Byte value) {
            addCriterion("public_state =", value, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateNotEqualTo(Byte value) {
            addCriterion("public_state <>", value, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateGreaterThan(Byte value) {
            addCriterion("public_state >", value, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("public_state >=", value, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateLessThan(Byte value) {
            addCriterion("public_state <", value, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateLessThanOrEqualTo(Byte value) {
            addCriterion("public_state <=", value, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateIn(List<Byte> values) {
            addCriterion("public_state in", values, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateNotIn(List<Byte> values) {
            addCriterion("public_state not in", values, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateBetween(Byte value1, Byte value2) {
            addCriterion("public_state between", value1, value2, "publicState");
            return (Criteria) this;
        }

        public Criteria andPublicStateNotBetween(Byte value1, Byte value2) {
            addCriterion("public_state not between", value1, value2, "publicState");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNull() {
            addCriterion("modify_time is null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNotNull() {
            addCriterion("modify_time is not null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeEqualTo(Date value) {
            addCriterion("modify_time =", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotEqualTo(Date value) {
            addCriterion("modify_time <>", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThan(Date value) {
            addCriterion("modify_time >", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("modify_time >=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThan(Date value) {
            addCriterion("modify_time <", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("modify_time <=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIn(List<Date> values) {
            addCriterion("modify_time in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotIn(List<Date> values) {
            addCriterion("modify_time not in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeBetween(Date value1, Date value2) {
            addCriterion("modify_time between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("modify_time not between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasIsNull() {
            addCriterion("issue_period_alias is null");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasIsNotNull() {
            addCriterion("issue_period_alias is not null");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasEqualTo(String value) {
            addCriterion("issue_period_alias =", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasNotEqualTo(String value) {
            addCriterion("issue_period_alias <>", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasGreaterThan(String value) {
            addCriterion("issue_period_alias >", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasGreaterThanOrEqualTo(String value) {
            addCriterion("issue_period_alias >=", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasLessThan(String value) {
            addCriterion("issue_period_alias <", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasLessThanOrEqualTo(String value) {
            addCriterion("issue_period_alias <=", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasLike(String value) {
            addCriterion("issue_period_alias like", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasNotLike(String value) {
            addCriterion("issue_period_alias not like", value, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasIn(List<String> values) {
            addCriterion("issue_period_alias in", values, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasNotIn(List<String> values) {
            addCriterion("issue_period_alias not in", values, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasBetween(String value1, String value2) {
            addCriterion("issue_period_alias between", value1, value2, "issuePeriodAlias");
            return (Criteria) this;
        }

        public Criteria andIssuePeriodAliasNotBetween(String value1, String value2) {
            addCriterion("issue_period_alias not between", value1, value2, "issuePeriodAlias");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}